﻿<!DOCTYPE html>
<!--[if IE]><![endif]-->
<html>
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <title> Welcome to the Tutorial </title>
    <meta name="viewport" content="width=device-width">
    <meta name="title" content=" Welcome to the Tutorial ">
    <meta name="generator" content="docfx 2.45.1.0">
    
    <link rel="shortcut icon" href="../favicon.ico">
    <link rel="stylesheet" href="../styles/docfx.vendor.css">
    <link rel="stylesheet" href="../styles/docfx.css">
    <link rel="stylesheet" href="../styles/main.css">
    <meta property="docfx:navrel" content="">
    <meta property="docfx:tocrel" content="toc.html">
    <meta property="docfx:rel" content="../">
    <meta property="og:title" content="Getting started with ASP.NET Core MVC testing in less than 15 minutes">
    <meta property="og:site_name" content="My Tested ASP.NET Core MVC Docs">
    <meta property="og:url" content="http://docs.mytestedasp.net/">
    <meta property="og:description" content="A fluent unit testing library for ASP.NET Core MVC">
    <meta property="og:image" content="https://mytestedasp.net/Content/Images/logosocial.jpg">
    <meta property="og:type" content="website">
    <meta property="og:locale" content="en_US">
    <meta property="twitter:card" content="summary">
    <meta property="twitter:title" content="Getting started with ASP.NET Core MVC testing in less than 15 minutes">
    <meta property="twitter:description" content="A fluent unit testing library for ASP.NET Core MVC">
    <meta property="twitter:creator" content="@MyTestedASPNET">
    <meta property="twitter:url" content="https://mytestedasp.net/">
    <meta property="twitter:image" content="https://mytestedasp.net/Content/Images/logosocial.jpg">
  </head>
  <body data-spy="scroll" data-target="#affix" data-offset="120">
    <div id="wrapper">
      <header>
        <nav id="autocollapse" class="navbar navbar-inverse ng-scope" role="navigation">
          <div class="container">
            <div class="navbar-header">
              <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
              </button>
              <a class="navbar-brand" href="../index.html">
                MY TESTED ASP.NET CORE MVC DOCS
              </a>
            </div>
            <div class="collapse navbar-collapse" id="navbar">
              <form class="navbar-form navbar-right" role="search" id="search">
                <div class="form-group">
                  <input type="text" class="form-control" id="search-query" placeholder="Search" autocomplete="off">
                </div>
              </form>
            </div>
          </div>
        </nav>
        
        <div class="subnav navbar navbar-default">
          <div class="container hide-when-search" id="breadcrumb">
            <ul class="breadcrumb">
              <li></li>
            </ul>
          </div>
        </div>
      </header>
      <div role="main" class="container body-content hide-when-search">
        
        <div class="sidenav hide-when-search">
          <a class="btn toc-toggle collapse" data-toggle="collapse" href="#sidetoggle" aria-expanded="false" aria-controls="sidetoggle">Show / Hide Table of Contents</a>
          <div class="sidetoggle collapse" id="sidetoggle">
            <div id="sidetoc"></div>
          </div>
        </div>
        <div class="article row grid-right">
          <div class="col-md-10">
            <article class="content wrap" id="_content" data-uid="">
<h1 id="img-stylemargin-right-20px-srchttpsrawgithubusercontentcomivaylokenovmytestedaspnetcoremvcmastertoolsnuget-logopng-alignleft-altmytestedaspnetcoremvc-width100-welcome-to-the-tutorial"><img style="margin-right: 20px" src="https://raw.githubusercontent.com/ivaylokenov/MyTested.AspNetCore.Mvc/master/tools/nuget-logo.png" align="left" alt="MyTested.AspNetCore.Mvc" width="100"> Welcome to the Tutorial</h1>

<p>Here you will find а <a href="https://mytestedasp.net/Core/Mvc">My Tested ASP.NET Core MVC</a> tutorial for version 2.2, in which you will learn the most important parts of the testing framework. In less than 15 minutes you will be able to write fast, asynchronous and high-quality tests against the popular Microsoft web framework.</p>
<p>We will use:</p>
<ul>
<li><a href="https://github.com/aspnet/AspNetCore/tree/master/src/MusicStore">Music Store</a> - the official ASP.NET Core MVC sample - download it from <a href="https://github.com/ivaylokenov/MyTested.AspNetCore.Mvc/raw/development/docs/files/MusicStore-Tutorial.zip">HERE</a></li>
<li>Visual Studio Community - the best ASP.NET Core IDE - available <a href="https://visualstudio.microsoft.com/tr/vs/community/">HERE</a></li>
<li>.NET Core CLI - the command line tools for .NET Core - get them from <a href="https://dotnet.microsoft.com/download">HERE</a></li>
<li>xUnit - asynchronous C# test runner - more information <a href="https://xunit.net/">HERE</a></li>
<li>Moq - mocking framework for .NET - more information <a href="https://github.com/moq/moq4">HERE</a></li>
<li>My Tested ASP.NET Core MVC - fluent assertion framework - more information <a href="https://mytestedasp.net/Core/Mvc">HERE</a></li>
</ul>
<p>The Music Store project is perfectly suitable for the tutorial because it contains commonly used components of a typical ASP.NET Core MVC web application - Entity Framework Core database, authenticated users, session, caching, services and more.</p>
<p>If you prefer, you may use any other C# IDE. A good alternative is the cross-platform <a href="https://code.visualstudio.com">Visual Studio Code</a>.</p>
<p>If you do not want to use xUnit, you may try <a href="https://github.com/nunit/nunit">NUnit</a> or <a href="https://github.com/microsoft/testfx">MSTest</a>. See the library&#39;s <a href="https://github.com/ivaylokenov/MyTested.AspNetCore.Mvc/tree/development/samples">samples</a> in order to understand how to use them with My Tested ASP.NET Core MVC.</p>
<p>Head over to the <a href="/tutorial/gettingstarted.html">Getting Started</a> section to start the party! :)</p>
</article>
          </div>
          
          <div class="hidden-sm col-md-2" role="complementary">
            <div class="sideaffix">
              <div class="contribution">
                <ul class="nav">
                  <li>
                    <a href="https://github.com/tmollov/MyTested.AspNetCore.Mvc/blob/development/docs/_docfx/tutorial/intro.md/#L1" class="contribution-link">Improve this Doc</a>
                  </li>
                </ul>
              </div>
              <nav class="bs-docs-sidebar hidden-print hidden-xs hidden-sm affix" id="affix">
              <!-- <p><a class="back-to-top" href="#top">Back to top</a><p> -->
              </nav>
            </div>
          </div>
        </div>
      </div>
      <footer>
        <div class="grad-bottom"></div>
        <div class="footer">
          <div class="container">
            <span class="pull-right">
              <a href="#top">Back to top</a>
            </span>
            <span>Copyright © 2015-2016 <strong><a href="http://mytestedasp.net">MyTestedASP.NET</a></strong>. All Rights Reserved. Generated by <strong><a href="http://dotnet.github.io/docfx/">DocFX</a></strong></span>
          </div>
        </div>
      </footer>
    </div>
    <script type="text/javascript" src="../styles/docfx.vendor.js"></script>
    <script type="text/javascript" src="../styles/docfx.js"></script>
    <script type="text/javascript" src="../styles/main.js"></script>
    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
      ga('create', 'UA-51720358-4', 'auto');
      ga('send', 'pageview');
    </script>
    <script>
    !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
    n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
    n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
    t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window,
    document,'script','https://connect.facebook.net/en_US/fbevents.js');
    fbq('init', '884740311601716');
    fbq('track', 'PageView');
    </script>
    <noscript><img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=884740311601716&ev=PageView&noscript=1"></noscript>  </body>
</html>
